﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using acessaDB;
using Frame;
using System.Data;
using System.Configuration;
using FirebirdSql.Data.FirebirdClient;
using Estrutura;


namespace Banco
{

    public class BD_Inspecao_categoria
    {
        #region variaveis_globais

        acessaDB.conectaDBFireBird fireBird = new conectaDBFireBird();
        string conectionString = System.Configuration.ConfigurationManager.AppSettings["FireBirdConnectionLocal"];
        string usuario = string.Empty;

        #endregion

        #region construtor

        public BD_Inspecao_categoria()
        {
            if (System.Configuration.ConfigurationManager.AppSettings["ambiente"] == "PROD")
                conectionString = System.Configuration.ConfigurationManager.AppSettings["FireBirdConnectionProd"];
        }
        public BD_Inspecao_categoria(string usu_Login)
        {
            if (System.Configuration.ConfigurationManager.AppSettings["ambiente"] == "PROD")
                conectionString = System.Configuration.ConfigurationManager.AppSettings["FireBirdConnectionProd"];
            usuario = usu_Login;
        }

        #endregion

        #region metodos

        public DataSet _retorna_Inspecao_categoria(
                                                string CTM_INSPECAO_CATEGORIA_CAD_ID,
                                                string CTM_CAD_INSPECAO_ID,
                                                string CTM_INSPECAO_CATEGORIA_ID,
                                                string PART_NUMBER_ID
                                                )
        {

            if (string.IsNullOrEmpty(CTM_INSPECAO_CATEGORIA_CAD_ID)) CTM_INSPECAO_CATEGORIA_CAD_ID = "'0'";
            if (string.IsNullOrEmpty(CTM_CAD_INSPECAO_ID)) CTM_CAD_INSPECAO_ID = "'0'";
            if (string.IsNullOrEmpty(CTM_INSPECAO_CATEGORIA_ID)) CTM_INSPECAO_CATEGORIA_ID = "'0'";
            if (string.IsNullOrEmpty(PART_NUMBER_ID)) PART_NUMBER_ID = "'0'";

            string sql = "SELECT " +
                                  "CTM_INSPECAO_CATEGORIA_CAD.CTM_INSPECAO_CATEGORIA_CAD_ID, " +
                                  "CTM_INSPECAO_CATEGORIA_CAD.CTM_CAD_INSPECAO_ID, " +
                                  "CTM_INSPECAO_CATEGORIA_CAD.CTM_INSPECAO_CATEGORIA_ID, " +
                                  "CTM_INSPECAO_CATEGORIA_CAD.PART_NUMBER_ID " +
                            "FROM CTM_INSPECAO_CATEGORIA_CAD " +
                            "LEFT JOIN CTM_CAD_INSPECAO ON CTM_CAD_INSPECAO.CTM_CAD_INSPECAO_ID = CTM_INSPECAO_CATEGORIA_CAD.CTM_CAD_INSPECAO_ID " +
                            "LEFT JOIN CTM_INSPECAO_CATEGORIA ON CTM_INSPECAO_CATEGORIA.CTM_INSPECAO_CATEGORIA_ID = CTM_INSPECAO_CATEGORIA_CAD.CTM_INSPECAO_CATEGORIA_ID " +
                           //"LEFT JOIN PN_CADASTRO ON PN_CADASTRO.PN_CADASTRO_ID = CTM_INSPECAO_CATEGORIA_CAD.PN_CADASTRO_ID " +
                            "WHERE " +
                            "      (CTM_INSPECAO_CATEGORIA_CAD.CTM_INSPECAO_CATEGORIA_CAD_ID   = " + CTM_INSPECAO_CATEGORIA_CAD_ID + "  OR " + CTM_INSPECAO_CATEGORIA_CAD_ID + " = '0') AND " +
                            "      (CTM_INSPECAO_CATEGORIA_CAD.CTM_CAD_INSPECAO_ID             = " + CTM_CAD_INSPECAO_ID + "  OR " + CTM_CAD_INSPECAO_ID + " = '0') AND " +
                            "      (CTM_INSPECAO_CATEGORIA_CAD.CTM_INSPECAO_CATEGORIA_ID       = " + CTM_INSPECAO_CATEGORIA_ID + "  OR " + CTM_INSPECAO_CATEGORIA_ID + " = '0') AND " +
                            "      (CTM_INSPECAO_CATEGORIA_CAD.PART_NUMBER_ID                  = " + PART_NUMBER_ID + "  OR " + PART_NUMBER_ID + " = '0') ";

            DataSet dsRetorno = fireBird.retornaDataSet(sql, conectionString);
            return dsRetorno;

        }


        public List<ES_Inspecao_categoria> _obter_Inspecao_categoria(
                                                string CTM_INSPECAO_CATEGORIA_CAD_ID,
                                                string CTM_CAD_INSPECAO_ID,
                                                string CTM_INSPECAO_CATEGORIA_ID,
                                                string PART_NUMBER_ID
                                                )
        {

            if (string.IsNullOrEmpty(CTM_INSPECAO_CATEGORIA_CAD_ID)) CTM_INSPECAO_CATEGORIA_CAD_ID = "'0'";
            if (string.IsNullOrEmpty(CTM_CAD_INSPECAO_ID)) CTM_CAD_INSPECAO_ID = "'0'";
            if (string.IsNullOrEmpty(CTM_INSPECAO_CATEGORIA_ID)) CTM_INSPECAO_CATEGORIA_ID = "'0'";
            if (string.IsNullOrEmpty(PART_NUMBER_ID)) PART_NUMBER_ID = "'0'";

            string sql = "SELECT " +
                                  "CTM_INSPECAO_CATEGORIA_CAD.CTM_INSPECAO_CATEGORIA_CAD_ID, " +
                                  "CTM_INSPECAO_CATEGORIA_CAD.CTM_CAD_INSPECAO_ID, " +
                                  "CTM_CAD_INSPECAO.INS_DESCRICAO, "+
                                  "CTM_INSPECAO_CATEGORIA_CAD.CTM_INSPECAO_CATEGORIA_ID, " +
                                  "CTM_INSPECAO_CATEGORIA_CAD.PART_NUMBER_ID " +
                            "FROM CTM_INSPECAO_CATEGORIA_CAD " +
                            "LEFT JOIN CTM_CAD_INSPECAO ON CTM_CAD_INSPECAO.CTM_CAD_INSPECAO_ID = CTM_INSPECAO_CATEGORIA_CAD.CTM_CAD_INSPECAO_ID " +
                            "LEFT JOIN CTM_INSPECAO_CATEGORIA ON CTM_INSPECAO_CATEGORIA.CTM_INSPECAO_CATEGORIA_ID = CTM_INSPECAO_CATEGORIA_CAD.CTM_INSPECAO_CATEGORIA_ID " +
                            "LEFT JOIN PN_CADASTRO ON PN_CADASTRO.PART_NUMBER_ID = CTM_INSPECAO_CATEGORIA_CAD.PART_NUMBER_ID " +
                            "WHERE " +
                            "      (CTM_INSPECAO_CATEGORIA_CAD.CTM_INSPECAO_CATEGORIA_CAD_ID   = " + CTM_INSPECAO_CATEGORIA_CAD_ID + "  OR " + CTM_INSPECAO_CATEGORIA_CAD_ID + " = '0') AND " +
                            "      (CTM_INSPECAO_CATEGORIA_CAD.CTM_CAD_INSPECAO_ID             = " + CTM_CAD_INSPECAO_ID + "  OR " + CTM_CAD_INSPECAO_ID + " = '0') AND " +
                            "      (CTM_INSPECAO_CATEGORIA_CAD.CTM_INSPECAO_CATEGORIA_ID       = " + CTM_INSPECAO_CATEGORIA_ID + "  OR " + CTM_INSPECAO_CATEGORIA_ID + " = '0') AND " +
                            "      (CTM_INSPECAO_CATEGORIA_CAD.PART_NUMBER_ID                  = " + PART_NUMBER_ID + "  OR " + PART_NUMBER_ID + " = '0') ";

            List<ES_Inspecao_categoria> lista = new List<ES_Inspecao_categoria>();
            FbConnection fbConexao = new FbConnection(conectionString);
            FbDataReader dr = fireBird.retornaDataReader(sql, conectionString, fbConexao);
            try
            {
                while (dr.Read())
                {
                    ES_Inspecao_categoria item = new ES_Inspecao_categoria();
                    item.CTM_INSPECAO_CATEGORIA_CAD_ID = dr["CTM_INSPECAO_CATEGORIA_CAD_ID"].ToString();
                    item.CTM_CAD_INSPECAO_ID = dr["CTM_CAD_INSPECAO_ID"].ToString();
                    item.CTM_INSPECAO_CATEGORIA_ID = dr["CTM_INSPECAO_CATEGORIA_ID"].ToString();
                    item.PART_NUMBER_ID = dr["PART_NUMBER_ID"].ToString();
                    lista.Add(item);

                }
                return lista;
            }
            finally
            {
                fireBird.fecharConexao(fbConexao);
            }
        }


        public ES_Inspecao_categoria _obter_Inspecao_categoria_by_id(
                                                string CTM_INSPECAO_CATEGORIA_CAD_ID
                                                )
        {

            if (string.IsNullOrEmpty(CTM_INSPECAO_CATEGORIA_CAD_ID)) CTM_INSPECAO_CATEGORIA_CAD_ID = "'0'";

            string sql = "SELECT " +
                                  "CTM_INSPECAO_CATEGORIA_CAD.CTM_INSPECAO_CATEGORIA_CAD_ID, " +
                                  "CTM_INSPECAO_CATEGORIA_CAD.CTM_CAD_INSPECAO_ID, " +
                                  "CTM_INSPECAO_CATEGORIA_CAD.CTM_INSPECAO_CATEGORIA_ID, " +
                                  "CTM_INSPECAO_CATEGORIA_CAD.PART_NUMBER_ID " +
                            "FROM CTM_INSPECAO_CATEGORIA_CAD " +
                            "LEFT JOIN CTM_CAD_INSPECAO ON CTM_CAD_INSPECAO.CTM_CAD_INSPECAO_ID = CTM_INSPECAO_CATEGORIA_CAD.CTM_CAD_INSPECAO_ID " +
                            "LEFT JOIN CTM_INSPECAO_CATEGORIA ON CTM_INSPECAO_CATEGORIA.CTM_INSPECAO_CATEGORIA_ID = CTM_INSPECAO_CATEGORIA_CAD.CTM_INSPECAO_CATEGORIA_ID " +
                            "LEFT JOIN PN_CADASTRO ON PN_CADASTRO.PN_CADASTRO_ID = CTM_INSPECAO_CATEGORIA_CAD.PN_CADASTRO_ID " +
                            "WHERE " +
                            "      (CTM_INSPECAO_CATEGORIA_CAD.CTM_INSPECAO_CATEGORIA_CAD_ID = " + CTM_INSPECAO_CATEGORIA_CAD_ID + "  OR " + CTM_INSPECAO_CATEGORIA_CAD_ID + " = '0') ";

            ES_Inspecao_categoria item = new ES_Inspecao_categoria();
            FbConnection fbConexao = new FbConnection(conectionString);
            FbDataReader dr = fireBird.retornaDataReader(sql, conectionString, fbConexao);
            try
            {
                while (dr.Read())
                {
                    item.CTM_INSPECAO_CATEGORIA_CAD_ID = dr["CTM_INSPECAO_CATEGORIA_CAD_ID"].ToString();
                    item.CTM_CAD_INSPECAO_ID = dr["CTM_CAD_INSPECAO_ID"].ToString();
                    item.CTM_INSPECAO_CATEGORIA_ID = dr["CTM_INSPECAO_CATEGORIA_ID"].ToString();
                    item.PART_NUMBER_ID = dr["PART_NUMBER_ID"].ToString();

                }
                return item;
            }
            finally
            {
                fireBird.fecharConexao(fbConexao);
            }
        }


        public void _inserir_Inspecao_categoria(
                                                string CTM_INSPECAO_CATEGORIA_CAD_ID,
                                                string CTM_CAD_INSPECAO_ID,
                                                string CTM_INSPECAO_CATEGORIA_ID,
                                                string PART_NUMBER_ID
                                                )
        {

            string sql = " INSERT INTO CTM_INSPECAO_CATEGORIA_CAD " +
                         "      ( " +
                         "          CTM_CAD_INSPECAO_ID            , " +
                         "          CTM_INSPECAO_CATEGORIA_ID      , " +
                         "          PART_NUMBER_ID                   " +
                 "      )" +
                 "  VALUES " +
                 "      ( " +
                              Util.retonarAspas(CTM_CAD_INSPECAO_ID, true) + ", " +
                              Util.retonarAspas(CTM_INSPECAO_CATEGORIA_ID, true) + ", " +
                              Util.retonarAspas(PART_NUMBER_ID, true) +
                 "      )";
            try
            {
                fireBird._ExecutarComandoRetornandoID(sql, conectionString, false, usuario);
            }
            catch
            { }
        }



        public void _atualizar_Inspecao_categoria(
                                                string CTM_INSPECAO_CATEGORIA_CAD_ID,
                                                string CTM_CAD_INSPECAO_ID,
                                                string CTM_INSPECAO_CATEGORIA_ID,
                                                string PART_NUMBER_ID
                                                )
        {

            string sql = " UPDATE CTM_INSPECAO_CATEGORIA_CAD SET " +
                         "      CTM_CAD_INSPECAO_ID             = " + Util.retonarAspas(CTM_CAD_INSPECAO_ID, true) + ", " +
                         "      CTM_INSPECAO_CATEGORIA_ID       = " + Util.retonarAspas(CTM_INSPECAO_CATEGORIA_ID, true) + ", " +
                         "      PART_NUMBER_ID                  = " + Util.retonarAspas(PART_NUMBER_ID, true) +
                         " WHERE CTM_INSPECAO_CATEGORIA_CAD_ID =  " + CTM_INSPECAO_CATEGORIA_CAD_ID;
            try
            {
                fireBird._ExecutarComandoRetornandoID(sql, conectionString, false, usuario);
            }
            catch
            { }
        }



        public void _excluir_Inspecao_categoria(string CTM_INSPECAO_CATEGORIA_CAD_ID)
        {
            string sql = "DELETE FROM CTM_INSPECAO_CATEGORIA_CAD WHERE CTM_INSPECAO_CATEGORIA_CAD_ID = " + CTM_INSPECAO_CATEGORIA_CAD_ID;
            try
            {
                fireBird._ExecutarComandoRetornandoID(sql, conectionString, false, usuario);
            }
            catch
            { }
        }



        #endregion
    }



    public class BD_Categorias
    {
        #region variaveis_globais

        acessaDB.conectaDBFireBird fireBird = new conectaDBFireBird();
        string conectionString = System.Configuration.ConfigurationManager.AppSettings["FireBirdConnectionLocal"];
        string usuario = string.Empty;

        #endregion

        #region construtor

        public BD_Categorias()
        {
            if (System.Configuration.ConfigurationManager.AppSettings["ambiente"] == "PROD")
                conectionString = System.Configuration.ConfigurationManager.AppSettings["FireBirdConnectionProd"];
        }
        public BD_Categorias(string usu_Login)
        {
            if (System.Configuration.ConfigurationManager.AppSettings["ambiente"] == "PROD")
                conectionString = System.Configuration.ConfigurationManager.AppSettings["FireBirdConnectionProd"];
            usuario = usu_Login;
        }

        #endregion

        #region metodos

        public DataSet _retorna_Categorias(
                                                string CTM_INSPECAO_CATEGORIA_ID,
                                                string CIC_DESCRICAO
                                                )
        {

            if (string.IsNullOrEmpty(CTM_INSPECAO_CATEGORIA_ID)) CTM_INSPECAO_CATEGORIA_ID = "'0'";
            if (string.IsNullOrEmpty(CIC_DESCRICAO)) CIC_DESCRICAO = "''";

            string sql = "SELECT " +
                                  "CTM_INSPECAO_CATEGORIA.CTM_INSPECAO_CATEGORIA_ID, " +
                                  "CTM_INSPECAO_CATEGORIA.CIC_DESCRICAO " +
                            "FROM CTM_INSPECAO_CATEGORIA " +
                            "WHERE " +
                            "      (CTM_INSPECAO_CATEGORIA.CTM_INSPECAO_CATEGORIA_ID       = " + CTM_INSPECAO_CATEGORIA_ID + "  OR " + CTM_INSPECAO_CATEGORIA_ID + " = '0') AND " +
                            "      (CTM_INSPECAO_CATEGORIA.CIC_DESCRICAO                   = " + CIC_DESCRICAO + "  OR " + CIC_DESCRICAO + " = '') ";

            DataSet dsRetorno = fireBird.retornaDataSet(sql, conectionString);
            return dsRetorno;

        }


        public List<ES_Categorias> _obter_Categorias(
                                                string CTM_INSPECAO_CATEGORIA_ID,
                                                string CIC_DESCRICAO
                                                )
        {

            if (string.IsNullOrEmpty(CTM_INSPECAO_CATEGORIA_ID)) CTM_INSPECAO_CATEGORIA_ID = "'0'";
            if (string.IsNullOrEmpty(CIC_DESCRICAO)) CIC_DESCRICAO = "''"; else CIC_DESCRICAO = Util.retonarAspas(CIC_DESCRICAO + " % ");

            string sql = "SELECT " +
                                  "CTM_INSPECAO_CATEGORIA.CTM_INSPECAO_CATEGORIA_ID, " +
                                  "CTM_INSPECAO_CATEGORIA.CIC_DESCRICAO " +
                            "FROM CTM_INSPECAO_CATEGORIA " +
                            "WHERE " +
                            "      (CTM_INSPECAO_CATEGORIA.CTM_INSPECAO_CATEGORIA_ID       = " + CTM_INSPECAO_CATEGORIA_ID + "  OR " + CTM_INSPECAO_CATEGORIA_ID + " = '0') AND " +
                            "      (CTM_INSPECAO_CATEGORIA.CIC_DESCRICAO                   = " + CIC_DESCRICAO + "  OR " + CIC_DESCRICAO + " = '') ";

            List<ES_Categorias> lista = new List<ES_Categorias>();
            FbConnection fbConexao = new FbConnection(conectionString);
            FbDataReader dr = fireBird.retornaDataReader(sql, conectionString, fbConexao);
            try
            {
                while (dr.Read())
                {
                    ES_Categorias item = new ES_Categorias();
                    item.CTM_INSPECAO_CATEGORIA_ID = dr["CTM_INSPECAO_CATEGORIA_ID"].ToString();
                    item.CIC_DESCRICAO = dr["CIC_DESCRICAO"].ToString();
                    lista.Add(item);

                }
                return lista;
            }
            finally
            {
                fireBird.fecharConexao(fbConexao);
            }
        }


        public ES_Categorias _obter_Categorias_by_id(
                                                string CTM_INSPECAO_CATEGORIA_ID
                                                )
        {

            if (string.IsNullOrEmpty(CTM_INSPECAO_CATEGORIA_ID)) CTM_INSPECAO_CATEGORIA_ID = "'0'";

            string sql = "SELECT " +
                                  "CTM_INSPECAO_CATEGORIA.CTM_INSPECAO_CATEGORIA_ID, " +
                                  "CTM_INSPECAO_CATEGORIA.CIC_DESCRICAO " +
                            "FROM CTM_INSPECAO_CATEGORIA " +
                            "WHERE " +
                            "      (CTM_INSPECAO_CATEGORIA.CTM_INSPECAO_CATEGORIA_ID = " + CTM_INSPECAO_CATEGORIA_ID + "  OR " + CTM_INSPECAO_CATEGORIA_ID + " = '0') ";

            ES_Categorias item = new ES_Categorias();
            FbConnection fbConexao = new FbConnection(conectionString);
            FbDataReader dr = fireBird.retornaDataReader(sql, conectionString, fbConexao);
            try
            {
                while (dr.Read())
                {
                    item.CTM_INSPECAO_CATEGORIA_ID = dr["CTM_INSPECAO_CATEGORIA_ID"].ToString();
                    item.CIC_DESCRICAO = dr["CIC_DESCRICAO"].ToString();

                }
                return item;
            }
            finally
            {
                fireBird.fecharConexao(fbConexao);
            }
        }


        public void _inserir_Categorias(
                                                string CTM_INSPECAO_CATEGORIA_ID,
                                                string CIC_DESCRICAO
                                                )
        {

            string sql = " INSERT INTO CTM_INSPECAO_CATEGORIA " +
                         "      ( " +
                         "          CIC_DESCRICAO                    " +
                 "      )" +
                 "  VALUES " +
                 "      ( " +
                              Util.retonarAspas(CIC_DESCRICAO, true) +
                 "      )";
            try
            {
                fireBird._ExecutarComandoRetornandoID(sql, conectionString, false, usuario);
            }
            catch
            { }
        }



        public void _atualizar_Categorias(
                                                string CTM_INSPECAO_CATEGORIA_ID,
                                                string CIC_DESCRICAO
                                                )
        {

            string sql = " UPDATE CTM_INSPECAO_CATEGORIA SET " +
                         "      CIC_DESCRICAO                   = " + Util.retonarAspas(CIC_DESCRICAO, true) +
                         " WHERE CTM_INSPECAO_CATEGORIA_ID =  " + CTM_INSPECAO_CATEGORIA_ID;
            try
            {
                fireBird._ExecutarComandoRetornandoID(sql, conectionString, false, usuario);
            }
            catch
            { }
        }



        public void _excluir_Categorias(string CTM_INSPECAO_CATEGORIA_ID)
        {
            string sql = "DELETE FROM CTM_INSPECAO_CATEGORIA WHERE CTM_INSPECAO_CATEGORIA_ID = " + CTM_INSPECAO_CATEGORIA_ID;
            try
            {
                fireBird._ExecutarComandoRetornandoID(sql, conectionString, false, usuario);
            }
            catch
            { }
        }



        #endregion
    }
}
